package cn.iocoder.yudao.module.member.controller.admin.company.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 企业新增/修改 Request VO")
@Data
public class CompanySaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17325")
    private Long id;

    @Schema(description = "企业名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "企业名称不能为空")
    private String companyName;

    @Schema(description = "企业logo", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "企业logo不能为空")
    private String logoUrl;

    @Schema(description = "所属行业", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "所属行业不能为空")
    private String industry;

    @Schema(description = "企业性质")
    private String companyNature;

    @Schema(description = "企业规模")
    private String companyScale;

    @Schema(description = "企业福利")
    private String companyWelfare;

    @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "联系人不能为空")
    private String contacts;

    @Schema(description = "联系电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "联系电话不能为空")
    private String phone;

    @Schema(description = "企业邮箱", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "企业邮箱不能为空")
    private String mail;

    @Schema(description = "省ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2569")
    @NotNull(message = "省ID不能为空")
    private Long provinceId;

    @Schema(description = "省名称", example = "李四")
    private String provinceName;

    @Schema(description = "市id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19917")
    @NotNull(message = "市id不能为空")
    private Long cityId;

    @Schema(description = "市名称", example = "李四")
    private String cityName;

    @Schema(description = "区ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8533")
    @NotNull(message = "区ID不能为空")
    private Long districtId;

    @Schema(description = "区名称", example = "王五")
    private String districtName;

    @Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "详细地址不能为空")
    private String address;

    @Schema(description = "企业简介")
    private String companyProfile;

    @Schema(description = "是否为优质雇主  0否 1是")
    private Boolean superEmployer;

    @Schema(description = "招聘截止", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "招聘截止不能为空")
    private LocalDateTime hireTime;

}